<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:saxon="http://icl.com/saxon"
                extension-element-prefixes="saxon"
                version="3.0">

<xsl:output omit-xml-declaration="no" indent="yes" doctype-system="eagle.dtd" />
<xsl:strip-space elements="*"/>

<xsl:variable name="lookup" select="document('hashcodes.xml')/hashcodes/hash" />


<!-- ================================================================
 |
 + ================================================================== -->
<xsl:template match="/">
   <xsl:call-template name="root.messages"/>
   <xsl:apply-templates/>
</xsl:template>

<!-- ================================================================
 |
 + ================================================================== -->
<xsl:template name="root.messages">
   <xsl:message>============================================================</xsl:message>
   <xsl:message> Generating Eagle library device enumeration                </xsl:message>
   <xsl:message>                                                            </xsl:message>
   <xsl:message> AUTHOR : martin.sveda@saabgroup.com                        </xsl:message>
   <xsl:message> USING  :<xsl:value-of select="system-property('xsl:vendor')"/></xsl:message>
   <xsl:message>============================================================</xsl:message>
   <xsl:message>                                                            </xsl:message>
</xsl:template>


<xsl:template match="node()|@*">
   <xsl:copy>
      <xsl:apply-templates select="node()|@*"/>
   </xsl:copy>
</xsl:template>


<xsl:template match="//device/technologies/technology/attribute[@name='SAAB']">
   <xsl:variable name="this" select="../@hash"/>
   <xsl:variable name="counter" select="$lookup[@mapping=$this]"/>
   <xsl:element name="attribute">
      <xsl:attribute name="name"><xsl:value-of select="@name" /></xsl:attribute>
      <xsl:attribute name="value"><xsl:value-of select="$counter"/></xsl:attribute>   
   </xsl:element>
</xsl:template>

</xsl:stylesheet> 
